package com.sitech.openapi.domain.customer;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;

@ApiModel(value = "Account", description = "账户")
public class Account implements Serializable {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "帐户标识")
    private Long acctId;

    // 帐户注册的名称
    @ApiModelProperty(value = "帐户名称")
    private String acctName;

    // 合同号信息
    @ApiModelProperty(value = "合同号")
    private String acctCd;

    // 帐户计费类型。参见集团主数据编码规范ACC-C-0017
    @ApiModelProperty(value = "帐户计费类型")
    private Long acctBillingType;

    // 生效时间,DateTime类型
    @ApiModelProperty(value = "生效时间")
    private String effDate;

    // 失效时间,DateTime类型
    @ApiModelProperty(value = "失效时间")
    private String expDate;

    // 外部帐户标识，记录省帐户标识。
    @ApiModelProperty(value = "外部帐户标识")
    private String extAcctId;

    // 记录客户唯一标识，引用资源Customer
    @ApiModelProperty(value = "客户标识")
    private Long custId;

    // 记录外部客户标识
    @ApiModelProperty(value = "外部客户标识")
    private String extCustId;

    // 引用资源CommonRegion
    @ApiModelProperty(value = "区域标识")
    private Long regionId;

    @ApiModelProperty(value = "支付方案")
    private List<PaymentPlan> PaymentPlans;

    // 接触任务状态,LOVB=CAM-C-0004
    @ApiModelProperty(value = "状态")
    private String statusCd;

    // 状态时间,DateTime类型
    @ApiModelProperty(value = "状态时间")
    private String statusDate;

    // 备注
    @ApiModelProperty(value = "备注")
    private String remark;

    public Long getAcctId() {
        return acctId;
    }

    public void setAcctId(Long acctId) {
        this.acctId = acctId;
    }

    public String getAcctName() {
        return acctName;
    }

    public void setAcctName(String acctName) {
        this.acctName = acctName;
    }

    public String getAcctCd() {
        return acctCd;
    }

    public void setAcctCd(String acctCd) {
        this.acctCd = acctCd;
    }

    public Long getAcctBillingType() {
        return acctBillingType;
    }

    public void setAcctBillingType(Long acctBillingType) {
        this.acctBillingType = acctBillingType;
    }

    public String getEffDate() {
        return effDate;
    }

    public void setEffDate(String effDate) {
        this.effDate = effDate;
    }

    public String getExpDate() {
        return expDate;
    }

    public void setExpDate(String expDate) {
        this.expDate = expDate;
    }

    public String getExtAcctId() {
        return extAcctId;
    }

    public void setExtAcctId(String extAcctId) {
        this.extAcctId = extAcctId;
    }

    public Long getCustId() {
        return custId;
    }

    public void setCustId(Long custId) {
        this.custId = custId;
    }

    public String getExtCustId() {
        return extCustId;
    }

    public void setExtCustId(String extCustId) {
        this.extCustId = extCustId;
    }

    public Long getRegionId() {
        return regionId;
    }

    public void setRegionId(Long regionId) {
        this.regionId = regionId;
    }

    public List<PaymentPlan> getPaymentPlans() {
        return PaymentPlans;
    }

    public void setPaymentPlans(List<PaymentPlan> paymentPlans) {
        this.PaymentPlans = paymentPlans;
    }

    public String getStatusCd() {
        return statusCd;
    }

    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }

    public String getStatusDate() {
        return statusDate;
    }

    public void setStatusDate(String statusDate) {
        this.statusDate = statusDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "Account{" +
                "acctId=" + acctId +
                ", acctName='" + acctName + '\'' +
                ", acctCd='" + acctCd + '\'' +
                ", acctBillingType=" + acctBillingType +
                ", effDate='" + effDate + '\'' +
                ", expDate='" + expDate + '\'' +
                ", extAcctId='" + extAcctId + '\'' +
                ", custId=" + custId +
                ", extCustId='" + extCustId + '\'' +
                ", regionId=" + regionId +
                ", PaymentPlans=" + PaymentPlans +
                ", statusCd='" + statusCd + '\'' +
                ", statusDate='" + statusDate + '\'' +
                ", remark='" + remark + '\'' +
                '}';
    }
}
